% MATLAB 脚本：绘制总负荷、风电预测出力（风电场1与风电场2分开）、净负荷及火电最大容量的 24 小时曲线
% 数据来源：all_data_fig.xlsx, Sheet1

% 清除环境
clear all;
clc;

% 读取数据
data = xlsread('all_data_fig.xlsx', 'Sheet1');

% 提取时间和变量
hours = data(:, 1);         % 时间 T
pdsum = data(:, 2);         % 总负荷
wind1 = data(:, 3);         % 风电场1预测
wind2 = data(:, 4);         % 风电场2预测
net_load = data(:, 5);      % 净负荷
Pg_max = data(:, 6);        % 火电机组最大容量

% 绘图
figure;

plot(hours, pdsum, '-k', 'LineWidth', 2, 'DisplayName', '总负荷'); hold on;
plot(hours, wind1, '--m', 'LineWidth', 2, 'DisplayName', '风电场1预测出力');
plot(hours, wind2, '--b', 'LineWidth', 2, 'DisplayName', '风电场2预测出力');
plot(hours, net_load, '--c', 'LineWidth', 2, 'DisplayName', '净负荷');
plot(hours, Pg_max, ':r', 'LineWidth', 2, 'DisplayName', '火电机组最大容量');

% 图形属性
title('系统总负荷、风电预测出力、净负荷及火电机组最大容量曲线', 'FontSize', 14);
xlabel('时间 (小时)', 'FontSize', 12);
ylabel('功率 (MW)', 'FontSize', 12);
legend('show', 'Location', 'northeastoutside');
grid on;
set(gca, 'FontSize', 10);
set(gca, 'XTick', 1:24);
set(gcf, 'Position', [100, 100, 800, 400]);

hold off;
